package Review;

import java.util.HashMap;
import java.util.Scanner;

public class Test04 {
    public int romanToInt(String s) {
        //罗马数字
        HashMap<Character,Integer> map = new HashMap<>();
        map.put('I',1);
        map.put('V',5);
        map.put('X',10);
        map.put('L',50);
        map.put('C',100);
        map.put('D',500);
        map.put('M',1000);
        int ret = 0;
        for(int i = 0;i<s.length();i++){
            char ch = s.charAt(i);
            if(i+1 <s.length() && map.get(s.charAt(i)) <map.get(s.charAt(i+1)) ){
                ret -= map.get(ch);
            } else {
                ret += map.get(ch);
            }
        }
        return ret;
    }
//    三数之和
//    public List<List<Integer>> threeSum(int[] nums) {
//        Arrays.sort(nums);
//        int len = nums.length;
//        //链表中嵌套一个链表
//        List<List<Integer>> ret = new ArrayList<>();
//        for(int i =0 ;i < len;){
//            int l = i + 1;
//            int r = len - 1;
//            int sum = -nums[i];
//            while(l < r){
//                if(nums[l] + nums[r] > sum){
//                    r--;
//                }
//                else if(nums[l] + nums[r] < sum ){
//                    l++;
//                }
//                else{
//                    ret.add(new ArrayList<Integer>(Arrays.asList(nums[i],nums[l],nums[r])));
//                    l++;
//                    r--;
//                    //此时就需要去重
//                    //但是去重一定要考虑边界问题
//                    while(l < r && nums[l] == nums[l-1]){
//                        l++;
//                    }
//                    while(l < r && nums[r] == nums[r+1]){
//                        r--;
//                    }
//                }
//            }
//            i++;
//            while(i < len && nums[i] == nums[i-1]){
//                // if(nums[i] == nums[i-1]){
//                i++;
//                // }
//            }
//        }
//        return ret;
//    }
    //统计字符出现的次数
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        //输入一个字符串
        String str = sc.nextLine();
        //字符串转化为小写(因为不区分大小写,便于比较)
        String str5 = str.toLowerCase();
        //输入一个字符,在这里我们可以用字符串表示字符
        String str2 = sc.nextLine();
        //把第二个字符串也转换为小写
        String str3 = str2.toLowerCase();
        HashMap<Character,Integer> map = new HashMap<>();
        //建立哈希表
        //通过遍历,记录第一个字符串中每个字符的个数
        for(int i =0;i<str5.length();i++){
            char ch = str5.charAt(i);
            if(map.get(ch) == null){
                map.put(ch,1);
            } else {
                map.put(ch,map.get(ch)+1);
            }

        }
        //通过第二个字符串,打印该字符在字符串的出现次数
        char ch2 = str3.charAt(0);
        if(map.get(ch2) == null){
            System.out.println(0);
        } else {
            System.out.println(map.get(ch2));
        }
    }

    //最长公共前缀
    public String longestCommonPrefix(String[] strs) {
        StringBuilder res = new StringBuilder();
        for (int i = 0; i < strs[0].length(); i++) {
            char c = strs[0].charAt(i);
            for (int j = 1; j < strs.length; j++) {
                if (i >= strs[j].length() || strs[j].charAt(i) != c) {
                    return res.toString();
                }
            }
            res.append(c);
        }
        return res.toString();


    }
    //最长回文串
    public String longestPalindrome(String s) {
        if(s.length() <=1 ){
            return s;
        }

        char[] arr = s.toCharArray();
        int len = s.length();
        int begin = 0;
        int end = 1;
        int[][] dp = new int[len][len];
        for(int i = 0;i<len;i++){
            dp[i][i] = 1;
        }
        for(int j = 1;j<len;j++){
            for(int i = 0;i<len-1&&i<j;i++){
                if(arr[i] != arr[j]){
                    dp[i][j] = 0;
                } else{
                    if(j - i < 3){
                        dp[i][j] = 1;
                    }else{
                        dp[i][j] = dp[i+1][j-1];
                    }

                }
                if(dp[i][j] == 1 && j-i+1>end){
                    end = j-i+1;
                    //end = j;
                    begin = i;
                }
            }
        }
        return s.substring(begin,end+begin);
    }
    public static void main7(String[] args) {
        int[] nums = new int[]{1,3,4,-3,-2,4,7,2};
        int sum = nums[0];
        int max = nums[0];
        for(int i = 1;i<nums.length;i++){
            sum = Math.max(sum + nums[i],nums[i]);
            if(sum > max){
                max = sum;
            }
        }
        System.out.println(sum);
    }
}
